<?php
class TlogSecRoundEndFlow extends TlogBase {
	const EVENT = 'SecRoundEndFlow';
	protected static $columns = array (
			'event',
			'GameSvrId',
			'dtEventTime',
			'GameAppID',
			'OpenID',
			'PlatID',
			'AreaID',
			'ZoneID',
			'BattleID',
			'ClientEndTime',
			'ClientVersion',
			'UserIP',
			'Result',
			'RoundEndType',
			'RoundTimeUse',
			'ClientRoundTime',
			'RoundExp',
			'RoundGold',
			'RoundExploit',
			'RoundFriendshipPoint',
			'RoundCardExp',
			'DropItemType',
			'RoundAnimalTotal',
			'RoundKillAnimalTotal',
			'RoundType',
			'RoundMapID',
			'staminaBeforeBattle',
			'staminaAfterBattle',
			'RoundCostMoney1',
			'RoundCostMoney2',
			'RoundVitTotal',
			'RoundGoldTotal',
			'RoundExploitTotal',
			'RoundDiamondTotal',
			'RoundCardLevelTotal',
			'SecPauseTimeTotal',
			'PauseTimeDetail',
			'PauseTimeervalDetail',
			'RoundScreenTime1',
			'RoundScreenTime2',
			'RoundScreenTime3',
			'RoundScreenTime4',
			'RoundScreenTime5',
			'RoundScreenTime6',
			'RoundScreenTime7',
			'RoundScreenTime8',
			'RoundSpeed',
			'UserCard1AttackMax',
			'UserCard2AttackMax',
			'UserCard3AttackMax',
			'UserCard4AttackMax',
			'UserCard5AttackMax',
			'UserCard6AttackMax',
			'ComboBuffMax',
			'UserCard1AttackAllCount',
			'UserCard2AttackAllCount',
			'UserCard3AttackAllCount',
			'UserCard4AttackAllCount',
			'UserCard5AttackAllCount',
			'UserCard6AttackAllCount',
			'UserCard1AttackCount',
			'UserCard2AttackCount',
			'UserCard3AttackCount',
			'UserCard4AttackCount',
			'UserCard5AttackCount',
			'UserCard6AttackCount',
			'UserCard1ActiveSkillCount',
			'UserCard2ActiveSkillCount',
			'UserCard3ActiveSkillCount',
			'UserCard4ActiveSkillCount',
			'UserCard5ActiveSkillCount',
			'UserCard6ActiveSkillCount',
			'UserCard1ActiveSkillCDMax',
			'UserCard2ActiveSkillCDMax',
			'UserCard3ActiveSkillCDMax',
			'UserCard4ActiveSkillCDMax',
			'UserCard5ActiveSkillCDMax',
			'UserCard6ActiveSkillCDMax',
			'UserCard1ActiveAttackMax',
			'UserCard2ActiveAttackMax',
			'UserCard3ActiveAttackMax',
			'UserCard4ActiveAttackMax',
			'UserCard5ActiveAttackMax',
			'UserCard6ActiveAttackMax',
			'UserCard1ActiveAttackNumMax',
			'UserCard2ActiveAttackNumMax',
			'UserCard3ActiveAttackNumMax',
			'UserCard4ActiveAttackNumMax',
			'UserCard5ActiveAttackNumMax',
			'UserCard6ActiveAttackNumMax',
			'UserCard1AttackTotal',
			'UserCard2AttackTotal',
			'UserCard3AttackTotal',
			'UserCard4AttackTotal',
			'UserCard5AttackTotal',
			'UserCard6AttackTotal',
			'UserCard1SkillTotal',
			'UserCard2SkillTotal',
			'UserCard3SkillTotal',
			'UserCard4SkillTotal',
			'UserCard5SkillTotal',
			'UserCard6SkillTotal',
			'CardHP',
			'CardInitHP',
			'HPAddCount',
			'HPReduceCount',
			'HPEndCount',
			'CardDeathCount',
			'CardReviveCount',
			'BreadCount',
			'BreadEatCount',
			'BreadAddHPMax',
			'BreadAddHPMin',
			'BreadAddHPTotal',
			'SkillAddHPCount',
			'SkillAddHPTotal',
			'RoundMonsterRefreshCount',
			'RoundMonsterCount',
			'RoundBossCount',
			'RoundKillMonsterCount',
			'RoundKillBossCount',
			'RoundEndMonsterCount',
			'RoundEndBossCount',
			'BossHPMax',
			'BossHPMin',
			'BossHurtMax',
			'BossHurtMin',
			'BossHurtCount',
			'BossHurtTotal',
			'MonsterHPMax',
			'MonsterHPMin',
			'MonsterHPTotal',
			'MonsterHurtMax',
			'MonsterHurtMin',
			'MonsterHurtCount',
			'MonsterHurtTotal',
			'BossAddHPMax',
			'BossAddHPMin',
			'BossAddHPCount',
			'BossAddHPTotal',
			'MonsterAddHPMax',
			'MonsterAddHPMin',
			'MonsterAddHPCount',
			'MonsterAddHPTotal',
			'BossCDMax',
			'BossCDMin',
			'BossAttackCount',
			'BossUseSkillCount',
			'BossTimeTotal',
			'BossAttackMax',
			'BossAttackMin',
			'BossSkillDamageMax',
			'BossSkillDamageMin',
			'BossAttackTotal',
			'EnemyCDMax',
			'EnemyCDMin',
			'EnemyAttackCount1',
			'EnemyUseSkillCount',
			'EnemyTimeTotal',
			'EnemyAttackMax',
			'EnemyAttackMin',
			'EnemySkillDamageMax1',
			'EnemySkillDamageMin1',
			'EnemyAttackTotal',
			'CardHurtCount',
			'CardHurtMax',
			'CardHurtMin',
			'CardHurtTotal',
			'RoundComboCount',
			'RoundComboMax',
			'RoundComboMin',
			'RoundComboTotal',
			'RoundAutoClear',
			'RoundManualClear',
			'ThreeClear',
			'FourClear',
			'FiveClear',
			'SpecialClear',
			'TouchCount',
			'TouchDistanceMax',
			'TouchDistanceMin',
			'TouchDistanceTotal',
			'TouchTimeMax',
			'TouchTimeMin',
			'TouchTimeTotal',
			'Count1',
			'Count2',
			'Count3',
			'Count4',
			'Count5',
			'Count6',
			'Count7',
			'Count8',
			'Count9',
			'Count10',
			'Count11',
			'Count12',
			'Count13',
			'Count14',
			'Count15',
			'UserOpDesc',

			'RoundPassStage',
			'RoundStageEnemyTime',
			'RoundStageOperationStartTime',
			'RoundStageOperationEndTime',
			'RoundBeadExchange',
			'RoundAttackBase',
			'RoundStageTurnCount',
			'RoundTurnCountTotal',
			'RoundAverageCombo',
			'RoundGetScore',
			'RoundComboPercentMax',
			'RoundComboPercentMin',
	);
	public static function generateMessage($params) {
		$timeBattleID = $params ['BattleID'];
		$params = array (
				static::EVENT,
				static::getGameSvrId (),//登录的游戏服务端编号
				strftime ( '%Y-%m-%d %H:%M:%S', $timeBattleID ), // dtEventTime YYYY-MM-DD HH:MM:SS
				$params['appid'],//game APP ID
				$params ['OpenID'],//player open id
				$params ['PlatID'],//ios 0 /android 1
				$params ['AreaID'],//wechat 0 /QQ 1 / 3 others
				static::getZoneId (),//小区号id
				$params ['BattleID'],//battle id
				$params ['ClientEndTime'],//YYYY-MM-DD HH:MM:SS
				$params ['ClientVersion'],
				$params ['UserIP'],
				$params ['Result'],//The server determines cheating, 0 passed, the other for cheating
				$params ['RoundEndType'],//round end mode, 0 for a successful end, 1 failed, 3 players end midway, 4 the system kick out
				$params ['RoundTimeUse'],//Client statistics actual clearance milliseconds (not statistically pause time)
				$params ['ClientRoundTime'],//Client computing authorities reported the experience of the game time, milliseconds
				$params ['RoundExp'],// obtain experience in the round
				$params ['RoundGold'],//obtain gold in the round
				$params ['RoundExploit'],//get feats
				$params ['RoundFriendshipPoint'],//get friend point
				$params ['RoundCardExp'],//get card exp 
				$params ['DropItemType'],//Authorities debris falling card Type list |type1,type2,type3,type4...|
				$params ['RoundAnimalTotal'],//total number of "转珠" in this council
				$params ['RoundKillAnimalTotal'],//total number of "转珠" have been used in the council
				$params ['RoundType'],//Copy type
				$params ['RoundMapID'],//copy id
				$params ['staminaBeforeBattle'],
				$params ['staminaAfterBattle'],
				$params ['RoundCostMoney1'],//the number of coin be used in this council,if none,type 0
				$params ['RoundCostMoney2'],//the number of Diamond be used in this council,if none type 0
				$params ['RoundVitTotal'],//After clearing the game,the left stamina
				$params ['RoundGoldTotal'],//After clearing the game,the left coin
				$params ['RoundExploitTotal'],//After clearing the game,the left friend point
				$params ['RoundDiamondTotal'],//After clearing the game,the left diamond
				$params ['RoundCardLevelTotal'],//After clearing the game,the left card level |card 1,2,3,4,5|
				$params ['SecPauseTimeTotal'],//Suspend time milliseconds
				$params ['PauseTimeDetail'],//Pause time sequence
				$params ['PauseTimeervalDetail'],//Pause time interval sequence
				//The first-eighth wave of the actual clearance time
				$params ['RoundScreenTime1'],
				$params ['RoundScreenTime2'],
				$params ['RoundScreenTime3'],
				$params ['RoundScreenTime4'],
				$params ['RoundScreenTime5'],
				$params ['RoundScreenTime6'],
				$params ['RoundScreenTime7'],
				$params ['RoundScreenTime8'],
				$params ['RoundSpeed'],//Actual acceleration factor of client statistics
				//Damage information packet
				$params ['UserCard1AttackMax'],
				$params ['UserCard2AttackMax'],
				$params ['UserCard3AttackMax'],
				$params ['UserCard4AttackMax'],
				$params ['UserCard5AttackMax'],
				$params ['UserCard6AttackMax'],
				$params ['ComboBuffMax'],//The single biggest attack Combo bonus coefficient, x 100, rounding
				$params ['UserCard1AttackAllCount'],
				$params ['UserCard2AttackAllCount'],
				$params ['UserCard3AttackAllCount'],
				$params ['UserCard4AttackAllCount'],
				$params ['UserCard5AttackAllCount'],
				$params ['UserCard6AttackAllCount'],
				$params ['UserCard1AttackCount'],
				$params ['UserCard2AttackCount'],
				$params ['UserCard3AttackCount'],
				$params ['UserCard4AttackCount'],
				$params ['UserCard5AttackCount'],
				$params ['UserCard6AttackCount'],
				$params ['UserCard1ActiveSkillCount'],
				$params ['UserCard2ActiveSkillCount'],
				$params ['UserCard3ActiveSkillCount'],
				$params ['UserCard4ActiveSkillCount'],
				$params ['UserCard5ActiveSkillCount'],
				$params ['UserCard6ActiveSkillCount'],
				$params ['UserCard1ActiveSkillCDMax'],
				$params ['UserCard2ActiveSkillCDMax'],
				$params ['UserCard3ActiveSkillCDMax'],
				$params ['UserCard4ActiveSkillCDMax'],
				$params ['UserCard5ActiveSkillCDMax'],
				$params ['UserCard6ActiveSkillCDMax'],
				$params ['UserCard1ActiveAttackMax'],
				$params ['UserCard2ActiveAttackMax'],
				$params ['UserCard3ActiveAttackMax'],
				$params ['UserCard4ActiveAttackMax'],
				$params ['UserCard5ActiveAttackMax'],
				$params ['UserCard6ActiveAttackMax'],
				$params ['UserCard1ActiveAttackNumMax'],
				$params ['UserCard2ActiveAttackNumMax'],
				$params ['UserCard3ActiveAttackNumMax'],
				$params ['UserCard4ActiveAttackNumMax'],
				$params ['UserCard5ActiveAttackNumMax'],
				$params ['UserCard6ActiveAttackNumMax'],
				$params ['UserCard1AttackTotal'],
				$params ['UserCard2AttackTotal'],
				$params ['UserCard3AttackTotal'],
				$params ['UserCard4AttackTotal'],
				$params ['UserCard5AttackTotal'],
				$params ['UserCard6AttackTotal'],
				$params ['UserCard1SkillTotal'],
				$params ['UserCard2SkillTotal'],
				$params ['UserCard3SkillTotal'],
				$params ['UserCard4SkillTotal'],
				$params ['UserCard5SkillTotal'],
				$params ['UserCard6SkillTotal'],
				//Output power pack---start---
				$params ['CardHP'],
				$params ['CardInitHP'],
				$params ['HPAddCount'],
				$params ['HPReduceCount'],
				$params ['HPEndCount'],
				$params ['CardDeathCount'],
				$params ['CardReviveCount'],
				$params ['BreadCount'],
				$params ['BreadEatCount'],
				$params ['BreadAddHPMax'],
				$params ['BreadAddHPMin'],
				$params ['BreadAddHPTotal'],
				$params ['SkillAddHPCount'],
				$params ['SkillAddHPTotal'],
				$params ['RoundMonsterRefreshCount'],
				$params ['RoundMonsterCount'],
				$params ['RoundBossCount'],
				$params ['RoundKillMonsterCount'],
				$params ['RoundKillBossCount'],
				$params ['RoundEndMonsterCount'],
				$params ['RoundEndBossCount'],
				$params ['BossHPMax'],
				$params ['BossHPMin'],
				$params ['BossHurtMax'],
				$params ['BossHurtMin'],
				$params ['BossHurtCount'],
				$params ['BossHurtTotal'],
				$params ['MonsterHPMax'],
				$params ['MonsterHPMin'],
				$params ['MonsterHPTotal'],
				$params ['MonsterHurtMax'],
				$params ['MonsterHurtMin'],
				$params ['MonsterHurtCount'],
				$params ['MonsterHurtTotal'],
				$params ['BossAddHPMax'],
				$params ['BossAddHPMin'],
				$params ['BossAddHPCount'],
				$params ['BossAddHPTotal'],
				$params ['MonsterAddHPMax'],
				$params ['MonsterAddHPMin'],
				$params ['MonsterAddHPCount'],
				$params ['MonsterAddHPTotal'],
				$params ['BossCDMax'],
				$params ['BossCDMin'],
				$params ['BossAttackCount'],
				$params ['BossUseSkillCount'],
				$params ['BossTimeTotal'],
				$params ['BossAttackMax'],
				$params ['BossAttackMin'],
				$params ['BossSkillDamageMax'],
				$params ['BossSkillDamageMin'],
				$params ['BossAttackTotal'],
				$params ['EnemyCDMax'],
				$params ['EnemyCDMin'],
				$params ['EnemyAttackCount1'],
				$params ['EnemyUseSkillCount'],
				$params ['EnemyTimeTotal'],
				$params ['EnemyAttackMax'],
				$params ['EnemyAttackMin'],
				$params ['EnemySkillDamageMax1'],
				$params ['EnemySkillDamageMin1'],
				$params ['EnemyAttackTotal'],
				$params ['CardHurtCount'],
				$params ['CardHurtMax'],
				$params ['CardHurtMin'],
				$params ['CardHurtTotal'],
				$params ['RoundComboCount'],
				$params ['RoundComboMax'],
				$params ['RoundComboMin'],
				$params ['RoundComboTotal'],
				$params ['RoundAutoClear'],
				$params ['RoundManualClear'],
				$params ['ThreeClear'],
				$params ['FourClear'],
				$params ['FiveClear'],
				$params ['SpecialClear'],
				$params ['TouchCount'],
				$params ['TouchDistanceMax'],
				$params ['TouchDistanceMin'],
				$params ['TouchDistanceTotal'],
				$params ['TouchTimeMax'],
				$params ['TouchTimeMin'],
				$params ['TouchTimeTotal'],
				//Output power pack---end---
				//Combo 1~15 number
				$params ['Count1'],
				$params ['Count2'],
				$params ['Count3'],
				$params ['Count4'],
				$params ['Count5'],
				$params ['Count6'],
				$params ['Count7'],
				$params ['Count8'],
				$params ['Count9'],
				$params ['Count10'],
				$params ['Count11'],
				$params ['Count12'],
				$params ['Count13'],
				$params ['Count14'],
				$params ['Count15'],
				$params ['UserOpDesc'],//Player operating sequence

				$params['RoundPassStage'],
				$params['RoundStageEnemyTime'],
				$params['RoundStageOperationStartTime'],
				$params['RoundStageOperationEndTime'],
				$params['RoundBeadExchange'],
				$params['RoundAttackBase'],
				$params['RoundStageTurnCount'],
				$params['RoundTurnCountTotal'],
				$params['RoundAverageCombo'],
				$params['RoundGetScore'],
				$params['RoundComboPercentMax'],
				$params['RoundComboPercentMin'],
		);
		return static::generateMessageFromArray ( $params );
	}
}
